<?php
	require_once("Balise.class.php");
	class AGen extends Balise{
	/*
		Classe A - Version 0.2
		Auteur : Loïc "MetalFox" PARRA
		Classe mère de création d'une balise <a>.
		
		README :
		Hérite de la classe Balise. Classe de base de tous les liens. Utilisable telle quelle, il est cependant préférable, par souci d'écriture, d'utiliser ses classes filles (ANF,AEx...). En laissant toutes les valeurs par défaut, le lien s'ouvre dans le même onglet, et dispose de l'attribut rel="follow".
		Si on ne précise pas de title à la balise, le title généré sera le lien de la balise.
		
		SUCRE SYNTAXIQUE :
		Idem que pour la classe Balise.
		
		CHANGELOG :
		0.0 : Création de la classe.
		0.1 : Remodélisation complete, renommage en AGen.
		0.2 : Override de make() pour autoriser les liens vides sans auto-fermeture (qui causait un bug). 
	*/
		
		function AGen($texte,$lien,$title='',$nouvelOnglet=false,$follow=true,$class=''){
			/* 
				Constructeur de la balise AGen.
				@param $texte : texte cliquable.
				@param $lien : lien vers lequel la balise mène (attribut href).
				@param $title : texte s'affichant dans l'infobulle (attribut title).
				@param $nouvelOnglet : Booléen, si vrai, le lien s'ouvrira automatiquement dans un nouvel onglet. Sinon, dans le même onglet.
				@param $follow : Booléen, si vrai, le lien aura la valeur "follow" pour l'attribut "rel", sinon "nofollow" (utile pour le référencement).
				@return N/A.
			*/
			
			parent::__construct("a",$texte);
			if($lien != '') $this->setAttribute("href",$lien);
			($title != '')? $this->setAttribute("title",$title) : $this->setAttribute("title",$lien);
			if($nouvelOnglet)$this->setAttribute("target","_blank");
			if($class!='')$this->setAttribute("class",$class);
			($follow)? $this->setAttribute("rel","follow") : $this->setAttribute("rel","nofollow");
		}
		
		function make(){
			/* 
				OVERRIDE
				Créé la balise.
				@return : un String de la balise mise en forme.
			*/
			return '<'.$this->name.' '.$this->makeAttributes().'>'.$this->text.'</'.$this->name.'>';
		}
	}
?>